#!/bin/bash

# 检查参数是否正确
if [ $# -ne 1 ]; then
    echo "使用方法: $0 <txt文件名>"
    exit 1
fi

input_file="$1"

# 检查输入文件是否存在
if [ ! -f "$input_file" ]; then
    echo "错误: 文件 '$input_file' 不存在"
    exit 1
fi

# 生成输出文件名（将.txt替换为.xml）
output_file="${input_file%.*}.xml"

# 创建XML文件
{
    # 写入XML头
    echo "<?xml version='1.0' encoding='UTF-8' standalone='no' ?>"
    echo "<SubPlan version=\"2.0\">"
    
    # 使用关联数组来去重
    declare -A case_names
    
    # 处理每一行，直接使用整行内容并去重
    while IFS= read -r line || [ -n "$line" ]; do
        # 去除行尾的换行符和回车符
        case_name=$(echo "$line" | tr -d '\r\n')
        
        # 跳过空行
        if [ -z "$case_name" ]; then
            continue
        fi
        
        # 如果成功提取到用例名且未被记录过，则标记
        if [ -n "$case_name" ] && [ -z "${case_names[$case_name]}" ]; then
            case_names["$case_name"]=1
        fi
    done < "$input_file"
    
    # 输出所有去重后的用例名
    for case_name in "${!case_names[@]}"; do
        echo "    <Entry include=\"$case_name\" />"
    done
    
    # 写入结束标签
    echo "</SubPlan>"
} > "$output_file"

echo "转换完成！已生成文件: $output_file"